package com.ocom.webapi.feign;

import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import com.ocom.common.constant.PayConfigUrl;
import com.ocom.common.dto.ConsTypeConfigDto;
import com.ocom.common.dto.MealMenuBDTO;
import com.ocom.common.entity.card.*;
import com.ocom.common.entity.master.EntityWechatAppInfo;
import com.ocom.common.entity.payconfig.*;
import com.ocom.common.enums.ResultEnum;
import com.ocom.common.request.callpackage.DeleteConfigRequest;
import com.ocom.common.request.callpackage.ModifyCallPackageDetailRequest;
import com.ocom.common.request.callpackage.OnShowRequest;
import com.ocom.common.request.payconfig.*;
import com.ocom.common.request.payconfig.KitchenPrinter.*;
import com.ocom.common.request.payconfig.adreceiptinfo.DeleteAdReceiptInfoRequest;
import com.ocom.common.request.payconfig.adreceiptinfo.GetAdReceiptInfoRequest;
import com.ocom.common.request.payconfig.adreceiptinfo.UpdateAdReceiptInfoRequest;
import com.ocom.common.request.payconfig.food.*;
import com.ocom.common.request.payconfig.mealorder.GetOrderDishesRequest;
import com.ocom.common.request.payconfig.mealorder.RefundOrderDishesRequest;
import com.ocom.common.request.payconfig.repairpay.GetRepairPayConfigRequest;
import com.ocom.common.request.payconfig.repairpay.GetRepairPayRecordListRequest;
import com.ocom.common.request.payconfig.restaurant.*;
import com.ocom.common.request.payconfig.staff.GetRestStaffListRequest;
import com.ocom.common.request.payconfig.staff.RemoveRestStaffRequest;
import com.ocom.common.request.payconfig.xfwalletinfo.GetConsAllWalletRequest;
import com.ocom.common.request.payconfig.xfwalletinfo.GetConsWalletListRequest;
import com.ocom.common.request.payconfig.xfwalletinfo.SetConsAllWalletRequest;
import com.ocom.common.request.payhandle.GetCcbDeleteBusinessRequest;
import com.ocom.common.request.ugcapi.order.LoadRestaurantsRequest;
import com.ocom.common.request.videocall.request.*;
import com.ocom.common.request.web.*;
import com.ocom.common.resp.Result;
import com.ocom.common.utils.ResultUtil;
import com.ocom.common.vo.ccb.GetCcbAccountListVo;
import com.ocom.common.vo.human.GetPersonAndAccountVo;
import com.ocom.common.vo.pay.ConsumeLimitVo;
import com.ocom.common.vo.payconfig.*;
import com.ocom.common.vo.payconfig.cloudcomputing.CloudComputingVo;
import com.ocom.common.vo.payconfig.kitchenprinter.PlanKitchenPrinterRequest;
import com.ocom.common.vo.payconfig.schoolphone.SchoolPhoneInfoVo;
import com.ocom.common.vo.payconfig.schoolwifiinfo.SchoolWifiInfoVo;
import com.ocom.common.vo.webapi.PageVO;
import com.ocom.common.vo.webapi.scaleupgrade.ScaleUpgradeAddRequest;
import com.ocom.common.vo.webapi.scaleupgrade.ScaleUpgradeModifyRequest;
import com.ocom.common.vo.webapi.scaleupgrade.ScaleUpgradeOnShowRequest;
import com.ocom.common.vo.webapi.scaleupgrade.ScaleUpgradePlanRequest;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Date;
import java.util.List;
import java.util.Map;

@FeignClient(value = "payconfig")
public interface PayConfigClientService {

	//2.1.获取餐段名称信息(getMealNameInfo)
	@GetMapping(PayConfigUrl.URLP_PayConfig_GetMealNameInfo)
	Result GetMealNameInfo(@RequestParam("comId") Long comId);

	//2.2.获取餐段时间信息(getMealTimeInfo)
	@PostMapping(PayConfigUrl.URLP_PayConfig_GetMealTimeInfo)
	Result GetMealTimeInfo(@RequestBody ConsTimeConfigOnShowRequest request);

	//2.3.添加餐段名称信息(addMealNameInfo)
	@PostMapping(PayConfigUrl.URLP_PayConfig_AddMealNameInfo)
	Result AddMealNameInfo(@RequestBody Map<String, Object> map);

	// 2.5.修改餐段名称信息(updateMealNameInfo)
	@PostMapping(PayConfigUrl.URLP_PayConfig_UpdateMealNameInfo)
	Result UpdateMealNameInfo(@RequestBody Map<String, Object> map);

	//2.4.添加餐段时间信息(addMealTimeInfo)
	@PostMapping(PayConfigUrl.URLP_PayConfig_AddMealTimeInfo)
	Result AddMealTimeInfo(@RequestBody @Validated EntityXfMealTime entityXfMealTime);

	// 2.6.修改餐段时间信息(updateMealTimeInfo)
	@PostMapping(PayConfigUrl.URLP_PayConfig_UpdateMealTimeInfo)
	Result UpdateMealTimeInfo(@RequestBody @Validated EntityXfMealTime entityXfMealTime);

	// 2.7.获取商户信息(getMerchInfo)
	@GetMapping(PayConfigUrl.URLP_PayConfig_GetMerchInfo)
	Result GetMerchInfo(@RequestParam("comId") Long comId, @RequestParam("merchName") String merchName, @RequestParam("merchType") Long merchType,
											@RequestParam("page") Integer page, @RequestParam("size") Integer size, @RequestParam("parentMerchId") Long parentMerchId);

	// 2.8.判断商户名称是否可用(getMerchInfoByName)
	@GetMapping(PayConfigUrl.URLP_PayConfig_GetMerchInfoByName)
	Result GetMerchInfoByName(@RequestParam("comId") Long comId, @RequestParam("merchName") String merchName);


	@PostMapping(PayConfigUrl.URLP_PayConfig_existMerchName)
	Result existMerchanName(@RequestParam("comId") Long comId, @RequestParam("merchId") Long merchId, @RequestParam("merchName") String merchName);

	// 2.9.添加商户信息(addMerchInfo)
	@PostMapping(PayConfigUrl.URLP_PayConfig_AddMerchInfo)
	Result AddMerchInfo(@RequestBody @Validated EntityXfMerchantInfo entityXfMerchantInfo);

	// 2.10.修改商户信息(updateMerchInfo)
	@PostMapping(PayConfigUrl.URLP_PayConfig_UpdateMerchInfo)
	Result UpdateMerchInfo(@RequestBody EntityXfMerchantInfo entityXfMerchantInfo);

	/**
	 * 2.8.删除餐段时间信息(deleteMealTimeInfo)
	 */
	@PostMapping(PayConfigUrl.URLP_PayConfig_DeleteMealTimeInfo)
	Result DeleteMealTimeInfo(@RequestBody Map<String, Object> map);

	/**
	 * 2.7.删除餐段名称信息(deleteMealNameInfo)
	 */
	@PostMapping(PayConfigUrl.URLP_PayConfig_DeleteMealNameInfo)
	Result DeleteMealNameInfo(@RequestBody Map<String, Object> map);


	// 消费2.11 .获取收费点信息(getTollPointInfo)
	@PostMapping(PayConfigUrl.Url_getTollPointInfo)
	Result getTollPointInfo(@RequestBody GetTollPointInfoRequest request);

	// 2.12.添加收费点信息(addTollPointInfo)
	@PostMapping(PayConfigUrl.Url_addTollPointInfo)
	Result addTollPointInfo(@RequestBody AddTollPointInfoRequest request);

	// 2.13.修改收费点信息(addTollPointInfo)
	@PostMapping(PayConfigUrl.Url_updateTollPointInfo)
	Result updateTollPointInfo(@RequestBody UpdateTollPointInfoRequest request);

	// 2.14.获取消费设备信息(getConsDeviceInfo)
	@PostMapping(PayConfigUrl.Url_getConsDeviceInfo)
	Result getConsDeviceInfo(@RequestBody GetConsDeviceInfoRequest request);

	// 2.14.获取消费设备列表(getConsDeviceList)
	@PostMapping(PayConfigUrl.Url_getConsDeviceList)
	Result GetConsDeviceList(@RequestBody Map<String, Object> map);

	//2.15.添加消费设备信息(addConsDeviceInfo)
	@PostMapping(PayConfigUrl.Url_addConsDeviceInfo)
	Result addConsDeviceInfo(@RequestBody AddConsDeviceInfoRequest request);

	//2.16.修改消费设备信息(updateConsDeviceInfo)
	@PostMapping(PayConfigUrl.Url_updateConsDeviceInfo)
	Result updateConsDeviceInfo(@RequestBody UpdateConsDeviceInfoRequest request);


	//2.17.删除消费设备信息(deleteConsDeviceInfo)
	@PostMapping(PayConfigUrl.Url_deleteConsDeviceInfo)
	Result deleteConsDeviceInfo(@RequestBody DeleteConsDeviceInfoRequest request);


	//2.18.获取消费设备升级版本(getXfOsVerInfo)
	@PostMapping(PayConfigUrl.Url_getXfOsVerInfo)
	Result getXfOsVerInfo(@Validated @RequestBody GetXfOsVerInfoRequest request);

	//2.19.获取消费通道配置信息（getConfigureInfo）
	@PostMapping(PayConfigUrl.Url_getConfigureInfo)
	Result getConfigureInfo(@RequestBody GetConfigureInfoRequest request);

	//获取一条详情
	@PostMapping(PayConfigUrl.Url_ConfigureInfo)
	Result configureInfo(@RequestBody OneConfigureInfoRequest request);

	@PostMapping(PayConfigUrl.Url_addConfigureInfo)
	Result addConfigureInfo(@RequestBody AddConfigureInfoRequest request);

	//2.21.修改消费通道配置信息（updateConfigureInfo）
	@PostMapping(PayConfigUrl.Url_updateConfigureInfo)
	Result updateConfigureInfo(@RequestBody UpdateConfigureInfoRequest request);


	//2.22.删除消费通道配置信息（deleteConfigureInfo）
	@PostMapping(PayConfigUrl.Url_deleteConfigureInfo)
	Result deleteConfigureInfo(@RequestBody DeleteConfigureInfoRequest request);

	//消费渠道参数列表
	@PostMapping(PayConfigUrl.URLP_getPageChannel)
	Result getPageChannel(@RequestBody GetPayChannelRequest request);

	//添加消费渠道参数
	@PostMapping(PayConfigUrl.URLP_addPageChannel)
	Result addPageChannel(@RequestBody SavePayChannelRequest request);

	//更新消费渠道
	@PostMapping(PayConfigUrl.URLP_editPageChannel)
	Result editPageChannel(@RequestBody EditPayChannelRequest request);

	//删除消费渠道
	@PostMapping(PayConfigUrl.URLP_delPageChannel)
	Result delPageChannel(@RequestBody DelPayChannelRequest request);


	@PostMapping(PayConfigUrl.Url_deleteTollPointInfo)
	Result deleteTollPointInfo(@RequestBody DelTollPointRequest request);


	@PostMapping(PayConfigUrl.Url_getDeleteConfigureInfo)
	Result getDeleteConfigureInfo(@RequestParam("companyId") Long companyId, @RequestParam("id") Integer id);

	//获取一条单位信息
	@PostMapping(PayConfigUrl.URLP_PayConfig_MerchPageInfo)
	Result MerchPageInfo(@RequestParam("companyId") Long companyId, @RequestParam("merchId") Integer merchId);


	@PostMapping(PayConfigUrl.URLP_getPageChannelKey)
	Result getPageChannelKey(@RequestParam("payWay") Integer payWay);

	//获取账号信息(getXFAccount)
	@GetMapping(PayConfigUrl.Url_GetXFAccount)
	public Result<EntityXfAccountInfo> GetXFAccount(@RequestParam("comId") Long comId, @RequestParam("pId") Integer pId, @RequestParam("accountState") Integer accountState);

	// 获取账号类型信息(getXFAccountType)
	@GetMapping(PayConfigUrl.Url_GetXFAccountType)
	public Result GetXFAccountType(@RequestParam("comId") Long comId);

	// 新增账号类型信息(addXFAccountType)
	@PostMapping(PayConfigUrl.Url_AddXFAccountType)
	public Result AddXFAccountType(@RequestBody Map<String, Object> map);

	// 修改账号类型信息(updateXFAccountType)
	@PostMapping(PayConfigUrl.Url_UpdateXFAccountType)
	public Result UpdateXFAccountType(@RequestBody Map<String, Object> map);

	//初始化账号(addXFAccount)
	@PostMapping(PayConfigUrl.Url_AddXFAccount)
	public Result AddXFAccount(@RequestBody Map<String, Object> map);

	// 查询卡信息（getCardInfo）
	@GetMapping(PayConfigUrl.Url_GetCardInfo)
	public Result GetCardInfo(@RequestParam("comId") Long comId, @RequestParam("accountNo") String accountNo);

	// 获取账号类型明细信息(getXFAccountTypeDetails)
	@GetMapping(PayConfigUrl.Url_GetXFAccountTypeDetails)
	public Result GetXFAccountTypeDetails(@RequestParam("comId") Long comId, @RequestParam("accTypeId") Integer accTypeId);

	// 修改账号信息(updateXFAccount)
	@PostMapping(PayConfigUrl.Url_UpdateXFAccount)
	public Result UpdateXFAccount(@RequestBody Map<String, Object> map);

	/**
	 * 获取账号明细（getListRecharge）
	 */
	@PostMapping(PayConfigUrl.Url_GetListRecharge)
	public Result GetListRecharge(@RequestBody Map<String, Object> map);

	/**
	 * 个人账户充值（updateListRecharge）
	 */
	@PostMapping(PayConfigUrl.Url_UpdateListRecharge)
	public Result UpdateListRecharge(@RequestBody Map<String, Object> map);

	/**
	 * 个人补贴充值（updateSubsidy）
	 */
	@PostMapping(PayConfigUrl.Url_UpdateSubsidy)
	public Result updateSubsidy(@RequestBody Map<String, Object> map);

	/**
	 * 个人发卡（addCardInfo）
	 */
	@PostMapping(PayConfigUrl.Url_AddCardInfo)
	public Result AddCardInfo(@RequestBody Map<String, Object> map);

	/**
	 * 个人账户挂失/解挂（updatecardState）
	 */
	@PostMapping(PayConfigUrl.Url_UpdatecardState)
	public Result UpdatecardState(@RequestBody Map<String, Object> map);

	@PostMapping(PayConfigUrl.Url_CardOperDetailList)
	public Result cardOperDetailList(@RequestBody JSONObject jsonObject);

	@PostMapping(PayConfigUrl.Url_CountCardOperRecord)
	public Result countCardOperRecord(@RequestBody JSONObject jsonObject);

	/**
	 * 2.33.获取商户风控参数 （getFkConfig）
	 */
	@PostMapping(PayConfigUrl.Url_getFkConfig)
	public Result getFkConfig(@RequestParam("comId") Long comId, @RequestParam("merchId") Integer merchId);

	/**
	 * 2.34.设置商户风控参数 （setFkConfig）
	 */
	@PostMapping(PayConfigUrl.Url_setFkConfig)
	public Result setFkConfig(@RequestBody FKParamConfigRequest fkParamConfigRequest);

	/**
	 * 设置白名单
	 */
	@PostMapping(PayConfigUrl.Url_SetXFWhiteInfo)
	public Result setXFWhiteInfo(@RequestParam("comId") Long comId, @RequestParam("pId") Long pId, @RequestParam("state") Long state);


	/**
	 * 2.37.获取消费限制参数（getConsumeLimitConfig）
	 */
	@PostMapping(PayConfigUrl.Url_GetConsumeLimitConfig)
	public Result getConsumeLimitConfig(@RequestBody ConsumeLimitConfigOnShowRequest request);

	/**
	 * 2.38设置消费限制参数（setConsumeLimitConfig）
	 */
	@PostMapping(PayConfigUrl.Url_SetConsumeLimitConfig)
	public Result setConsumeLimitConfig(@RequestBody ConsumeLimitVo consumeLimitVo);

	/**
	 * 2.34.删除商户风控参数 （setFkConfig）
	 */
	@PostMapping(PayConfigUrl.Url_deleteFkConfig)
	public Result deleteFkConfig(@RequestParam("companyId") Long companyId, @RequestParam("merchId") Integer merchId);

	//获取风控
	@PostMapping(PayConfigUrl.Url_getUserFkConfig)
	public Result getUserFkConfig(@RequestParam("comId") Long comId, @RequestParam("merchId") Integer merchId);

	//设置商户风控参数（账户类型）
	@PostMapping(PayConfigUrl.Url_setUserFkConfig)
	public Result setUserFkConfig(@RequestBody JSONObject jsonObject);

	/**
	 * 添加 更新公众号参数
	 *
	 * @param entityWechatAppInfo
	 * @return
	 */
	@Deprecated
	@PostMapping(PayConfigUrl.URLP_addWxInfo)
	public Result addWxInfo(@RequestBody EntityWechatAppInfo entityWechatAppInfo);


	@PostMapping(PayConfigUrl.Url_getConsDiscountConfig)
	public Result getConsDiscountConfig(@RequestParam("comId") Long comId,
																			@RequestParam("accountType") Integer accountType,
																			@RequestParam("consTimeZone") Integer consTimeZone);

	@PostMapping(PayConfigUrl.Url_setConsDiscountConfig)
	public Result setConsDiscountConfig(@RequestBody EntityXfDiscountConfig entityXfDiscountConfig);

	@PostMapping(PayConfigUrl.Url_setConsDiscountConfigB)
	public Result setConsDiscountConfigB(@RequestBody EntityXfDiscountConfig entityXfDiscountConfig);


	@PostMapping(PayConfigUrl.Url_removeConsDiscountConfig)
	public Result removeConsDiscountConfig(@RequestBody EntityXfDiscountConfig entityXfDiscountConfig);

	@PostMapping(PayConfigUrl.Url_removeConsDiscountConfigB)
	public Result removeConsDiscountConfigB(@RequestBody EntityXfDiscountConfig entityXfDiscountConfig);


	@PostMapping(PayConfigUrl.Url_GetConsType)
	public Result getConsType(@RequestParam("comId") Long comId);


	@PostMapping(PayConfigUrl.URLP_getPageChannelKeyByCode)
	public Result getPageChannelKeyByCode(@RequestParam("code") Integer code);

	@PostMapping(PayConfigUrl.Url_getPayInfo)
	public Result<EntityXfMerchPayInfo> getPayInfo(@RequestBody EntityXfMerchPayInfo entityXfMerchPayInfo);


	@PostMapping(PayConfigUrl.Url_delPayInfo)
	public Result delPayInfo(@RequestBody EntityXfMerchPayInfo entityXfMerchPayInfo);


	// 查询卡信息（getCardInfo）
	@GetMapping(PayConfigUrl.Url_GetCardInfoByPid)
	public Result GetCardInfoByPid(@RequestParam("comId") Long comId, @RequestParam("pId") Long pId);

	//2.52全量下传白名单 (resendWhiteList)
	@PostMapping(PayConfigUrl.Url_ResendWhiteList)
	public Result resendWhiteList(@RequestBody JSONObject jsonObject);

	//2.53重置设备参数 (resetMach)
	@PostMapping(PayConfigUrl.Url_ResetMach)
	public Result resetMach(@RequestBody JSONObject jsonObject);

	//4.11修改消费类型参数(setConsType)
	@PostMapping(PayConfigUrl.Url_setConsType)
	public Result setConsType(@RequestBody ConsTypeConfigDto entityConsTypeConfig);

	//新增消费类型参数(addConsType)
	@PostMapping(PayConfigUrl.Url_addConsType)
	public Result addConsType(@RequestBody AddConsTypeRequest request);


	@PostMapping(PayConfigUrl.URLP_PayConfig_getMealConsumeReports)
	public Result getMealConsumeReports(@RequestParam("comId") Long comId);

	//新增广告图（addAd）
	@PostMapping(PayConfigUrl.URLP_PayConfig_addAd)
	public Result addAd(@RequestBody EntityAd entityAd);

	//删除广告图（delAd）
	@PostMapping(PayConfigUrl.URLP_PayConfig_delAd)
	public Result delAd(@RequestParam("comId") Long comId, @RequestParam("id") Long id);

	@PostMapping(PayConfigUrl.URLP_PayConfig_adList)
	public Result adList(@RequestParam("comId") Long comId, @RequestParam("deviceType") Integer deviceType, @RequestParam("type") Integer type);

	@PostMapping(PayConfigUrl.Url_getRechargeRule)
	public Result getRechargeRule(@RequestParam("companyId") Long companyId, @RequestParam(value = "subAccount", defaultValue = "0", required = false) Integer subAccount);


	@PostMapping(PayConfigUrl.Url_setRechargeRule)
	public Result setRechargeRule(@RequestBody EntityRechargeRule entityRechargeRule);

	@PostMapping(PayConfigUrl.Url_deleteRechargeRule)
	public Result deleteRechargeRule(@RequestBody EntityRechargeRule entityRechargeRule);

	@PostMapping(PayConfigUrl.Url_getTurnoverReports)
	public Result getTurnoverReports(@RequestBody TotalTurnoverRequest totalTurnoverRequest);

  @PostMapping(PayConfigUrl.Url_getTurnoverReportsXM)
  Result getTurnoverReportsXM(@RequestBody TotalTurnoverRequest totalTurnoverRequest);

	@PostMapping(PayConfigUrl.Url_subsidyList)
	public Result subsidyList(@RequestBody SubsidyListRequest subsidyListRequest);

	@PostMapping(PayConfigUrl.Url_newSubsidyPlan)
	public Result newSubsidyPlan(@RequestBody JSONObject jsonObject);

	@PostMapping(PayConfigUrl.Url_cloneSubsidyData)
	public Result cloneSubsidyData(@RequestBody JSONObject jsonObject);

	// 查询卡信息（getCardInfoByCardNo）
	@PostMapping(PayConfigUrl.Url_GetCardInfoByCardNo)
	public Result getCardInfoByCardNo(@RequestParam("comId") Long comId, @RequestParam("cardNo") String cardNo);


	@PostMapping(PayConfigUrl.Url_updateSubsidyPlan)
	public Result updateSubsidyPlan(@RequestBody JSONObject jsonObject);


	@PostMapping(PayConfigUrl.Url_grant_subsidy)
	public Result grantSubsidy(@RequestParam("comId") Long comId, @RequestParam("month") String month, @RequestParam("times") Integer times);

	@PostMapping(PayConfigUrl.Url_subsidyData)
	public Result subsidyData(@RequestBody SubsidyDataRequest subsidyDataRequest);

	@PostMapping(PayConfigUrl.Url_addSubsidyData)
	public Result addSubsidyData(@RequestBody AddSubsidyDataResquest addSubsidyDataResquest);

	//删除补贴人员
	@PostMapping(PayConfigUrl.Url_removeSubsidyData)
	public Result removeSubsidyData(@RequestBody AddSubsidyDataResquest addSubsidyDataResquest);

	//更改补贴金额
	@PostMapping(PayConfigUrl.Url_updateSubsidyMoney)
	public Result updateSubsidyMoney(@RequestBody AddSubsidyDataResquest addSubsidyDataResquest);

	//菜品分类列表
	@PostMapping(PayConfigUrl.Url_dishesClassList)
	public Result dishesClassList(@RequestParam("comId") Long comId, @RequestParam("merchId") Integer merchId);

	@PostMapping(PayConfigUrl.Url_newDishesClass)
	public Result newDishesClass(@RequestBody JSONObject jsonObject);

	//修改菜品分类（updateDishesClass）
	@PostMapping(PayConfigUrl.Url_updateDishesClass)
	public Result updateDishesClass(@RequestBody JSONObject jsonObject);

	//删除菜品分类
	@PostMapping(PayConfigUrl.Url_removeDishesClass)
	public Result removeDishesClass(@RequestParam("comId") Long comId, @RequestParam("merchId") Integer merchId, @RequestParam("dishesClassId") Integer dishesClassId);

	//获取下级菜品分类列表
	@PostMapping(PayConfigUrl.Url_getSubDishesClassList)
	public Result getSubDishesClassList(@RequestBody JSONObject jsonObject);

	//菜品列表（getDishesList）
	@PostMapping(PayConfigUrl.Url_getDishesList)
	public Result getDishesList(@RequestBody JSONObject jsonObject);

	@PostMapping(PayConfigUrl.Url_getAllDishes)
	public Result getAllDishes(@RequestParam("comId") Long comId);


	//增加菜品（newDishes）
	@PostMapping(PayConfigUrl.Url_newDishes)
	public Result newDishes(@RequestBody JSONObject jsonObject);

	//修改菜品
	@PostMapping(PayConfigUrl.Url_updateDishes)
	public Result updateDishes(@RequestBody JSONObject jsonObject);

	@PostMapping(PayConfigUrl.Url_changeDishesPhoto)
	public Result changeDishesPhoto(@RequestParam("comId") Long comId, @RequestParam("dishesId") Integer dishesId, @RequestParam("photoUrl") String photoUrl);

	//获取菜品定价表（getDishesPriceList）
	@PostMapping(PayConfigUrl.Url_getDishesPriceList)
	public Result getDishesPriceList(@RequestParam("comId") Long comId, @RequestParam("dishesId") Integer dishesId, @RequestParam("merchId") Integer merchId);

	//保存菜品价格
	@PostMapping(PayConfigUrl.Url_setDishesPrice)
	public Result setDishesPrice(@RequestBody JSONObject jsonObject);

	//移除菜品价格（removeDishesPrice）
	@PostMapping(PayConfigUrl.Url_removeDishesPrice)
	public Result removeDishesPrice(@RequestBody JSONObject jsonObject);

	//重置菜品下传标志（dishesAllDownload）
	@PostMapping(PayConfigUrl.Url_dishesAllDownload)
	public Result dishesAllDownload(@RequestParam("comId") Long comId, @RequestParam("merchId") Integer merchId);

	//商户绑定的消费点
	@PostMapping(PayConfigUrl.Url_getPointsByMerch)
	public Result getPointsByMerch(@RequestParam("comId") Long comId, @RequestParam("merchId") Integer merchId);

	@PostMapping(PayConfigUrl.URLP_PayConfig_GetMerchInfoOne)
	public Result GetMerchInfo(@RequestParam("comId") Long comId, @RequestParam("merchId") Integer merchId);

	//消费券种类列表
	@PostMapping(PayConfigUrl.Url_voucherTypeList)
	public Result voucherTypeList(@RequestParam("comId") Long comId, @RequestParam("attributeStr") String attributeStr, @RequestParam("consTypeStr") String consTypeStr);

	//添加消费券种类
	@PostMapping(PayConfigUrl.Url_newVoucherType)
	public Result newVoucherType(NewVoucherTypeRequest newVoucherTypeRequest);

	//修改消费券种类
	@PostMapping(PayConfigUrl.Url_updateVoucherType)
	public Result updateVoucherType(UpdateVoucherTypeRequest updateVoucherTypeRequest);

	//删除消费券种类（removeVoucherType）
	@PostMapping(PayConfigUrl.Url_removeVoucherType)
	public Result removeVoucherType(@RequestParam("comId") Long comId, @RequestParam("voucherTypeId") Long voucherTypeId);

	@PostMapping(PayConfigUrl.Url_getConsDeviceMealConfig)
	public Result getConsDeviceMealConfig(@RequestParam("comId") Long comId, @RequestParam("deviceNo") String deviceNo, @RequestParam("consType") Integer consType);

	@PostMapping(PayConfigUrl.Url_setConsDeviceMealConfig)
	public Result setConsDeviceMealConfig(@RequestBody SetConsDeviceMealConfigRequest request);

	//2.62获取代理商消费设备信息(getConsDeviceInfoByAgent)
	@PostMapping(PayConfigUrl.Url_getConsDeviceInfoByAgent)
	public Result getConsDeviceInfoByAgent(@RequestBody GetConsDeviceInfoByAgentRequest request);

	//11.3.1排餐计划列表（mealPlanList）
	@PostMapping(PayConfigUrl.Url_mealPlanList)
	public Result mealPlanList(@RequestBody MealPlanListRequest request);

	//11.3.2删除排餐计划（removeMealPlan）
	@PostMapping(PayConfigUrl.Url_removeMealPlan)
	public Result removeMealPlan(@RequestBody RemoveMealPlanRequest request);


	//11.3.3增加排餐计划（newMealPlan）
	@PostMapping(PayConfigUrl.Url_newMealPlan)
	public Result newMealPlan(@RequestBody EntityMealPlan entityMealPlan);


	//11.3.4修改排餐计划（updateMealPlan）
	@PostMapping(PayConfigUrl.Url_updateMealPlan)
	public Result updateMealPlan(@RequestBody EntityMealPlan entityMealPlan);

	//11.3.5餐段菜单列表（mealMenuList）
	@PostMapping(PayConfigUrl.Url_mealMenuList)
	public Result mealMenuList(@RequestBody EntityMealMenu entityMealMenu);


	//11.3.6清除餐段菜单（clearMealMenu）
	@PostMapping(PayConfigUrl.Url_clearMealMenu)
	public Result clearMealMenu(@RequestBody EntityMealMenu entityMealMenu);

	//11.3.7保存餐段菜单（saveMealMenu）
	@PostMapping(PayConfigUrl.Url_saveMealMenu)
	public Result saveMealMenu(@RequestBody EntityMealMenu entityMealMenu);

	//11.3.8删除餐段菜单（removeMealMenu）
	@PostMapping(PayConfigUrl.Url_removeMealMenu)
	public Result removeMealMenu(@RequestBody EntityMealMenu entityMealMenu);


	//部门消费汇总报表（ConsDeptReports/onShow）
	@PostMapping(PayConfigUrl.Url_getConsDeptList)
	public Result getConsDeptList(@RequestBody GetConsDeptReportsRequest getConsDeptReportsRequest);

	//获取商户消费汇总报表(getConsMerchReports)
	@PostMapping(PayConfigUrl.Url_getConsMerchReports)
	public Result getConsMerchReports(@RequestBody GetConsMerchReportsRequest getConsMerchReportsRequest);

	//生成设备收款码
	@PostMapping(PayConfigUrl.Url_getConsDevicePayCode)
	public Result getConsDevicePayCode(@RequestParam("companyId") Long companyId, @RequestParam("machNo") String machNo);


	//生成设备收款码
	@PostMapping(PayConfigUrl.Url_getConsAccountPayCode)
	public Result getConsAccountPayCode(@RequestParam("companyId") Long companyId, @RequestParam("machNo") String machNo);

	@PostMapping(PayConfigUrl.Url_setMealOrderCode)
	public Result setMealOrderCode(@RequestParam("companyId") Long companyId, @RequestParam("receiptId") Integer receiptId);

	//删除设备收款码
	@PostMapping(PayConfigUrl.Url_removeConsDevicePayCode)
	public Result removeConsDevicePayCode(@RequestParam("companyId") Long companyId, @RequestParam("machNo") String machNo);

	//删除设备收款码
	@PostMapping(PayConfigUrl.Url_removeConsAccountPayCode)
	public Result removeConsAccountPayCode(@RequestParam("companyId") Long companyId, @RequestParam("machNo") String machNo);

	@PostMapping(PayConfigUrl.URLP_PayConfig_MerchPageAddPayInfo)
	public Result addPayInfo(@RequestBody EntityXfMerchPayInfo entityXfMerchPayInfo);

	@PostMapping(PayConfigUrl.Url_getDockList)
	public Result getDockList(@RequestParam("dockCode") String dockCode, @RequestParam("dockName") String dockName,
														@RequestParam("page") Integer page, @RequestParam("size") Integer size);

	@PostMapping(PayConfigUrl.Url_addDock)
	public Result addDock(@RequestParam("dockCode") String dockCode, @RequestParam("dockName") String dockName,
												@RequestParam("serverMode") Integer serverMode, @RequestParam("signMode") Integer signMode,
												@RequestParam("remark") String remark);

	@PostMapping(PayConfigUrl.Url_updateDock)
	public Result updateDock(@RequestParam("dockCode") String dockCode, @RequestParam("dockName") String dockName,
													 @RequestParam("serverMode") Integer serverMode, @RequestParam("signMode") Integer signMode,
													 @RequestParam("remark") String remark);


	@PostMapping(PayConfigUrl.Url_getConsZoneList)
	public Result getConsZoneList(@RequestParam("comId") Long comId);

	@PostMapping(PayConfigUrl.Url_getConsZoneDateList)
	public Result getConsZoneDateList(@RequestParam("comId") Long comId,
																		@RequestParam("page") Integer page,
																		@RequestParam("size") Integer size);

	@PostMapping(PayConfigUrl.Url_setConsDateZone)
	public Result setConsDateZone(@RequestBody EntityXfZoneDate entityXfZoneDate);

	@PostMapping(PayConfigUrl.Url_removeConsDateZone)
	public Result removeConsDateZone(@RequestParam("comId") Long comId, @RequestParam("date") String date);

	@PostMapping(PayConfigUrl.Url_addConsZone)
	public Result addConsZone(@RequestBody EntityXfTimeZone entityXfTimeZone);

	@PostMapping(PayConfigUrl.Url_updateConsZoneName)
	public Result updateConsZoneName(@RequestBody EntityXfTimeZone entityXfTimeZone);


	//2.69 获取取餐点信息（getAdReceiptInfo）
	@PostMapping(PayConfigUrl.Url_getAdReceiptInfo)
	public Result getAdReceiptInfo(@RequestBody GetAdReceiptInfoRequest request);

	//2.69.1 统计receiptName统计取餐点数量
	@PostMapping(PayConfigUrl.Url_countByReceiptName)
	public Result countByReceiptName(@RequestParam("comId") Long comId, @RequestParam("receiptName") String receiptName);

	//2.69.2 根据receiptName获取取餐点数量
	@PostMapping(PayConfigUrl.Url_getByReceiptName)
	public Result getByReceiptName(@RequestParam("comId") Long comId, @RequestParam("receiptName") String receiptName);

	//2.70 添加取餐点信息(addAdReceiptInfo)
	@PostMapping(PayConfigUrl.Url_addAdReceiptInfo)
	public Result addAdReceiptInfo(@RequestBody EntityReceiptAddress request);

	//2.71 修改取餐点信息(updateAdReceiptInfo)
	@PostMapping(PayConfigUrl.Url_updateAdReceiptInfo)
	public Result updateAdReceiptInfo(@RequestBody UpdateAdReceiptInfoRequest request);

	//2.72 删除取餐点信息(deleteAdReceiptInfo)
	@PostMapping(PayConfigUrl.Url_deleteAdReceiptInfo)
	public Result deleteAdReceiptInfo(@RequestBody DeleteAdReceiptInfoRequest request);


	@PostMapping(PayConfigUrl.Url_GetConsAllWallet)
	public Result getConsAllWallet(@RequestBody GetConsAllWalletRequest request);

	@PostMapping(PayConfigUrl.Url_GetConsWalletList)
	public Result getConsWalletList(@RequestBody GetConsWalletListRequest request);

	@PostMapping(PayConfigUrl.Url_SetConsWallet)
	public Result setConsWallet(@RequestBody SetConsAllWalletRequest request);

	@PostMapping(PayConfigUrl.Url_FeeAccountAdd)
	Result addFeeAccount(@RequestBody @Validated EntityXfMerchantInfo entityXfMerchantInfo);

	@PostMapping(PayConfigUrl.URL_GetAllAccount)
	Result getAllAccount(@RequestParam("comId") Long comId);

	@PostMapping(PayConfigUrl.URL_FeeAccountList)
	Result getFeeAccountList(@RequestParam("comId") Long comId);

	@PostMapping(PayConfigUrl.URL_FeeMerchList)
	Result getFeeMerchList(@RequestParam("comId") Long comId);

	@PostMapping(PayConfigUrl.URL_updateFeeAccount)
	Result updateFeeAccount(@RequestBody EntityXfMerchantInfo request);

	@PostMapping(PayConfigUrl.URL_changeMerchStatus)
	Result changeMerchStatus(@RequestBody EntityXfMerchantInfo request);


	@PostMapping(PayConfigUrl.URL_FeeItemsOnShow)
	Result feeItemList(@RequestBody FeeItemListVo request);

	@PostMapping(PayConfigUrl.URL_FeeItemsAdd)
	Result addSave(@RequestBody FeeItem request);

	@PostMapping(PayConfigUrl.URL_FeeItemsModify)
	Result editSave(@RequestBody FeeItem feeItem);

	@PostMapping(PayConfigUrl.URL_FeeItemsStart)
	Result startFeeItem(@RequestBody FeeItem feeItem);

	@PostMapping(PayConfigUrl.URL_FeeItemsPause)
	Result pauseFeeItem(@RequestBody FeeItem feeItem);

	@PostMapping(PayConfigUrl.URL_FeeItemsClose)
	Result closeFeeItem(@RequestBody FeeItem feeItem);

	@PostMapping(PayConfigUrl.URL_FeeDetailOnShow)
	Result feeDataList(@RequestBody FeeDataListVo request);

	@PostMapping(PayConfigUrl.URL_FeeDetailAddPerson)
	Result addFeeData(@RequestBody FeeDataListVo FeeData);

	@PostMapping(PayConfigUrl.URL_FeeDetailModifyAmount)
	Result updateFeeMoney(@RequestBody FeeDataListVo request);

	@PostMapping(PayConfigUrl.URL_FeeDetailDeletePerson)
	Result deleteById(@RequestBody FeeDataListVo request);

	@PostMapping(PayConfigUrl.URL_addFeeDataByPerson)
	Result addFeeDataByPerson(FeeDataListVo request);

	@PostMapping(PayConfigUrl.URL_feeDataPersonRefund)
	Result personRefund(PersonRefundVo request);


	@PostMapping(PayConfigUrl.Url_restaurantList)
	public Result restaurantList(@RequestBody LoadRestaurantsRequest request);

	@PostMapping(PayConfigUrl.Url_newRestaurant)
	public Result newRestaurant(@RequestBody RestaurantAddRequest request);

	@PostMapping(PayConfigUrl.Url_removeRestaurant)
	public Result removeRestaurant(@RequestBody RestaurantDeleteRequest request);

	@PostMapping(PayConfigUrl.Url_setRestaurantLogo)
	public Result setRestaurantLogo(@RequestBody RestaurantSetLogoRequest request);

	@PostMapping(PayConfigUrl.Url_restaurantQrCode)
	public Result restaurantQrCode(@RequestBody RestaurantAppIdRequest request);

	@PostMapping(PayConfigUrl.Url_saveRestaurantInfo)
	public Result saveRestaurantInfo(@RequestBody RestaurantInfoRequest request);


	//飞鹅打印机
	@PostMapping(PayConfigUrl.Url_feieNewPtr)
	public Result feieNewPtr(@RequestBody KitchenPrinterAddRequest request);

	@PostMapping(PayConfigUrl.Url_kitchenPrtList)
	public Result kitchenPrtList(@RequestBody KitchenPrinterOnShowRequest request);

	@PostMapping(PayConfigUrl.Url_feieUpdatePtr)
	public Result feieUpdatePtr(@RequestBody KitchenPrinterModifyRequest request);

	@PostMapping(PayConfigUrl.Url_feieRemovePtr)
	public Result feieRemovePtr(@RequestBody KitchenPrinterDeleteRequest request);

	@PostMapping(PayConfigUrl.Url_feieCleanSqs)
	public Result feieCleanSqs(@RequestBody KitchenPrinterCleanSqsRequest request);

	@PostMapping(PayConfigUrl.Url_setKitchenPrtScheme)
	public Result setKitchenPrtScheme(@RequestBody KitchenPrinterSchemeRequest request);

	@PostMapping(PayConfigUrl.Url_feiePrintMsg)
	public Result feiePrintMsg(@RequestBody JSONObject object);

	@PostMapping(PayConfigUrl.Url_planKitchenPrinter)
	public Result planKitchenPrinter(@RequestBody PlanKitchenPrinterRequest object);

	//11.8.1食材分类列表（foodClassList）
	@PostMapping(PayConfigUrl.Url_foodClassList)
	public Result foodClassList(@RequestBody ComMerchRequest request);

	//11.8.2删除菜品分类（removeFoodClass）
	@PostMapping(PayConfigUrl.Url_removeFoodClass)
	public Result removeFoodClass(@RequestBody FoodClassIdRequest request);

	//11.8.3添加菜品分类（newFoodClass）
	@PostMapping(PayConfigUrl.Url_newFoodClass)
	public Result newFoodClass(@RequestBody NewFoodClassRequest request);

	//11.8.4修改菜品分类（updateFoodClass）
	@PostMapping(PayConfigUrl.Url_updateFoodClass)
	public Result updateFoodClass(@RequestBody NewFoodClassRequest request);

	//11.8.5获取下级菜品分类列表（getSubFoodClassList）
	@PostMapping(PayConfigUrl.Url_getSubFoodClassList)
	public Result getSubFoodClassList(@RequestBody FoodClassIdRequest request);

	//11.9.1食材列表（getFoodstuffList）
	@PostMapping(PayConfigUrl.Url_getFoodstuffList)
	public Result getFoodstuffList(@RequestBody GetFoodstuffListRequest request);

	//11.9.2删除食材（removeFoodstuff）
	@PostMapping(PayConfigUrl.Url_removeFoodstuff)
	public Result removeFoodstuff(@RequestBody FoodstuffIdRequest request);

	//11.9.3增加食材（newFoodstuff）
	@PostMapping(PayConfigUrl.Url_newFoodstuff)
	public Result newFoodstuff(@RequestBody EntityFoodstuffInfo foodstuffInfo);

	//11.9.4修改食材（updateFoodstuff）
	@PostMapping(PayConfigUrl.Url_updateFoodstuff)
	public Result updateFoodstuff(@RequestBody EntityFoodstuffInfo foodstuffInfo);

	//11.9.5菜品食材含量列表（getDishesStuffList）
	@PostMapping(PayConfigUrl.Url_getDishesStuffList)
	public Result getDishesStuffList(@RequestBody GetDishesStuffListRequest request);

	//11.9.6设置食材含量（setDishesStuff）
	@PostMapping(PayConfigUrl.Url_setDishesStuff)
	public Result setDishesStuff(@RequestBody EntityDishesFoodstuff entityDishesFoodstuff);


	//11.9.7移除食材含量（removeDishesStuff）
	@PostMapping(PayConfigUrl.Url_removeDishesStuff)
	public Result removeDishesStuff(@RequestBody EntityDishesFoodstuff entityDishesFoodstuff);

	//11.10.1已排餐餐厅列表（getPlanPointList）
	@PostMapping(PayConfigUrl.Url_getPlanPointList)
	public Result getPlanPointList(@RequestBody ComMerchRequest request);

	//11.10.2菜品摆放计划（getPlacePlanList）
	@PostMapping(PayConfigUrl.Url_getPlacePlanList)
	public Result getPlacePlanList(@RequestBody ComPointRequest request);


	//11.10.3菜品摆放方案（getDishesPlaceList）
	@PostMapping(PayConfigUrl.Url_getDishesPlaceList)
	public Result getDishesPlaceList(@RequestBody DishesPlaceListRequest request);

	//11.10.4餐厅下级消费点列表（getSubPointList）
	@PostMapping(PayConfigUrl.Url_getSubPointList)
	public Result getSubPointList(@RequestBody ComPointRequest request);

	//11.10.5保存菜品摆放位置（saveDishesPlaces）
	@PostMapping(PayConfigUrl.Url_saveDishesPlaces)
	public Result saveDishesPlaces(@RequestBody SaveDishesPlacesRequest request);

	//11.11.1餐厅职工列表（getRestStaffList）
	@PostMapping(PayConfigUrl.Url_getRestStaffList)
	public Result getRestStaffList(@RequestBody GetRestStaffListRequest request);

	//11.11.2删除餐厅职工（removeRestStaff）
	@PostMapping(PayConfigUrl.Url_removeRestStaff)
	public Result removeRestStaff(@RequestBody RemoveRestStaffRequest request);


	//11.11.3增加餐厅职工（newRestStaff）
	@PostMapping(PayConfigUrl.Url_newRestStaff)
	public Result newRestStaff(@RequestBody EntityRestStaff entityRestStaff);

	//11.11.4修改餐厅职工（updateRestStaff）
	@PostMapping(PayConfigUrl.Url_updateRestStaff)
	public Result updateRestStaff(@RequestBody EntityRestStaff entityRestStaff);

	//11.12.1食材采购单列表（getFoodPurchaseList）
	@PostMapping(PayConfigUrl.Url_getFoodPurchaseList)
	public Result getFoodPurchaseList(@RequestBody GetFoodPurchaseListRequest request);


	//11.12.2删除食材采购单（removeFoodPurchase）
	@PostMapping(PayConfigUrl.Url_removeFoodPurchase)
	public Result removeFoodPurchase(@RequestBody RemoveFoodPurchaseRequest request);

	//11.12.3增加食材采购单（newFoodPurchase）
	@PostMapping(PayConfigUrl.Url_newFoodPurchase)
	public Result newFoodPurchase(@RequestBody EntityFoodstuffPurchase entityFoodstuffPurchase);

	//11.12.4修改食材采购单（updateFoodPurchase）
	@PostMapping(PayConfigUrl.Url_updateFoodPurchase)
	public Result updateFoodPurchase(@RequestBody EntityFoodstuffPurchase entityFoodstuffPurchase);

	//11.4.21订餐统计（orderSummary）
	@PostMapping(PayConfigUrl.Url_orderSummary)
	public Result orderSummary(@RequestBody OrderSummaryRequest request);


	/**
	 * 5.2 获取建行智慧生活账号明细（getCcbAccountList）
	 *
	 * @param request
	 * @return
	 */
	@PostMapping(PayConfigUrl.Url_GetCcbAccountList)
	Result getCcbAccountList(@RequestBody GetCcbAccountListVo request);

	//5.3 获取建行智慧生活商家列表
	@PostMapping(PayConfigUrl.Url_GetCcbBusinessList)
	Result getCcbBusinessList(@RequestBody GetCcbDeleteBusinessRequest request);

	//5.4 删除建行智慧生活商家信息
	@PostMapping(PayConfigUrl.Url_GetCcbDeleteBusiness)
	Result getCcbDeleteBusiness(@RequestBody GetCcbDeleteBusinessRequest request);

	//5.5 获取建行智慧生活柜台列表
	@PostMapping(PayConfigUrl.Url_GetCcbPosList)
	Result getCcbPosList(@RequestBody GetCcbPosListRequest request);

	//5.6 获取未绑定建行智慧生活设备列表
	@PostMapping(PayConfigUrl.Url_GetCcbNoPosDeviceList)
	Result getCcbNoPosDeviceList(@RequestBody GetCcbPosListRequest request);

	//5.7 设备绑定建行智慧生活柜台
	@PostMapping(PayConfigUrl.Url_BindCcbPosDevice)
	Result bindCcbPosDevice(@RequestBody CcbPosDeviceRequest request);

	//5.8 设备解绑建行智慧生活柜台
	@PostMapping(PayConfigUrl.Url_UnbindCcbPosDevice)
	Result unbindCcbPosDevice(@RequestBody CcbPosDeviceRequest CcbPosInfo);


	@PostMapping(PayConfigUrl.Url_getCallPackageConfig)
	public Result getCallPackageConfig(@RequestBody OnShowRequest request);

	@PostMapping(PayConfigUrl.Url_addCallPackageConfig)
	public Result addCallPackageConfig(@RequestBody EntityPackageType request);

	@PostMapping(PayConfigUrl.Url_editCallPackageConfig)
	public Result editCallPackageConfig(@RequestBody EntityPackageType request);

	@PostMapping(PayConfigUrl.Url_deleteCallPackageConfig)
	public Result deleteCallPackageConfig(@RequestBody DeleteConfigRequest request);

	@PostMapping(PayConfigUrl.Url_saveCallPackageDetail)
	public Result saveCallPackageDetail(@RequestBody ModifyCallPackageDetailRequest request);

	@PostMapping(PayConfigUrl.Url_getRepairPayRecordList)
	public Result getRepairPayRecordList(@RequestBody GetRepairPayRecordListRequest request);

	@PostMapping(PayConfigUrl.Url_getRepairPayConfig)
	public Result getRepairPayConfig(@RequestBody GetRepairPayConfigRequest request);

	@PostMapping(PayConfigUrl.Url_addRepairPayConfig)
	public Result addRepairPayConfig(@RequestBody EntityXfRepairpayConfig request);

	@PostMapping(PayConfigUrl.Url_getPointMealPreReports)
	public Result getPointMealPreReports(@Validated @RequestBody GetPointMealPreReportsRequest request);

	@PostMapping(PayConfigUrl.Url_getPointMealSendReports)
	public Result getPointMealSendReports(@Validated @RequestBody GetPointMealSendReportsRequest request);

	@PostMapping(PayConfigUrl.Url_getPointMealSendReportsXM)
	public Result getPointMealSendReportsXM(@Validated @RequestBody GetPointMealSendReportsXMRequest request);

	@PostMapping(PayConfigUrl.Url_getOrderDishes)
	public Result getOrderDishes(@RequestBody GetOrderDishesRequest request);

//	@PostMapping(PayConfigUrl.Url_getOrderDishesB)
//	public Result getOrderDishesB(@RequestBody GetOrderDishesRequest request);

	@PostMapping(PayConfigUrl.Url_refundOrderDishes)
	public Result refundOrderDishes(@RequestBody RefundOrderDishesRequest request);

	@PostMapping(PayConfigUrl.Url_getCloudComputingList)
	public Result getCloudComputingList(@RequestBody CloudComputingVo cloudComputingVo);

	@PostMapping(PayConfigUrl.Url_updateCloudComputingInfo)
	public Result updateCloudComputingInfo(@RequestBody CloudComputingVo cloudComputingVo);

	@PostMapping(PayConfigUrl.Url_getSchoolPhoneList)
	public Result getSchoolPhoneList(@RequestBody SchoolPhoneInfoVo schoolPhoneInfoVo);

	@PostMapping(PayConfigUrl.Url_updateSchoolPhoneInfo)
	public Result updateSchoolPhoneInfo(@RequestBody SchoolPhoneInfoVo schoolPhoneInfoVo);

	@PostMapping(PayConfigUrl.Url_getSchoolWifiList)
	public Result getSchoolWifiList(@RequestBody SchoolWifiInfoVo schoolWifiInfoVo);

	@PostMapping(PayConfigUrl.Url_updateSchoolWifiInfo)
	public Result updateSchoolWifiInfo(@RequestBody SchoolWifiInfoVo schoolWifiInfoVo);

	//13.12赠券项目列表
	@PostMapping(PayConfigUrl.Url_couponsItem)
	Result couponsItem(@RequestBody CouponsItemVo params);

	@PostMapping(PayConfigUrl.Url_couponsNumber)
	CouponsNumberRVo couponsNumber(@RequestParam("comId") Long comId, @RequestParam("orderNo") String orderNo);

	@PostMapping(PayConfigUrl.Url_addCouponsData)
	Result addCouponsData(@RequestBody AddCouponsDataVo addCoupons);

	@PostMapping(PayConfigUrl.Url_voucherList)
	Result couponsDataList(@RequestBody CouponsDataListVo couponsDataVo);

	@PostMapping(PayConfigUrl.Url_changeCouponsNumber)
	Result changeCouponsNumber(@RequestBody ChangeCouponsNumberVo request);

	@PostMapping(PayConfigUrl.Url_breakCoupons)
	Result breakCoupons(@RequestBody BreakCouponsVo request);

	@PostMapping(PayConfigUrl.Url_updateCouponsItemById)
	Result updateCouponsItemById(@RequestParam("comId") Long comId, @RequestParam("itemId") int item_id, @RequestParam("status") int status, @RequestParam("breakTime") Date breakTime);

	@PostMapping(PayConfigUrl.Url_grantCoupons)
	Result grantCoupons(@RequestBody GrantCouponsVo request);

	@PostMapping(PayConfigUrl.Url_newCouponsItem)
	Result newCouponsItem(@RequestBody CouponsItem couponsItem);

	@PostMapping(PayConfigUrl.Url_updateCouponsItem)
	Result updateCouponsItem(@RequestBody CouponsItem couponsItem);

	@PostMapping(PayConfigUrl.Url_deleteVoucherDataByIds)
	Result deleteVoucherDataByIds(@RequestBody IdsVo ids);

	@PostMapping(PayConfigUrl.URLP_getPersonAndAccount)
	public Result getPersonAndAccount(@RequestBody GetPersonAndAccountVo request);

	@PostMapping(PayConfigUrl.Url_getConsMerchPayReports)
	public Result getConsMerchPayReports(@RequestBody ConsMerchPayReportsRequest request);


	@PostMapping(PayConfigUrl.Url_getScaleUpgradeStatus)
	public Result getScaleUpgradeStatus(@RequestBody ScaleUpgradeOnShowRequest request);

	@PostMapping(PayConfigUrl.Url_getUpgradeCodeList)
	public Result getUpgradeCodeList(@RequestBody ScaleUpgradeOnShowRequest request);

	@PostMapping(PayConfigUrl.Url_newUpgradeCode)
	public Result newUpgradeCode(@RequestBody ScaleUpgradeAddRequest request);

	@PostMapping(PayConfigUrl.Url_updateUpgradeCode)
	public Result updateUpgradeCode(@RequestBody ScaleUpgradeModifyRequest request);

	@PostMapping(PayConfigUrl.Url_startUpgradeCode)
	public Result startUpgradeCode(@RequestBody ScaleUpgradePlanRequest request);

	@PostMapping(PayConfigUrl.Url_stopUpgradeCode)
	public Result stopUpgradeCode(@RequestBody ScaleUpgradePlanRequest request);

	@PostMapping(PayConfigUrl.Url_getUpgradeCodePlan)
	public Result getUpgradeCodePlan(@RequestBody ScaleUpgradePlanRequest request);

	@PostMapping(PayConfigUrl.Url_setUpgradeCodePlan)
	public Result setUpgradeCodePlan(@RequestBody ScaleUpgradePlanRequest request);

	@PostMapping(PayConfigUrl.Url_getConsumeDetailError)
	public Result getConsumeDetailError(@RequestBody ConsumeDetailErrorRequest request);

	@PostMapping(PayConfigUrl.Url_getSubAccountList)
	public Result getSubAccountList(@RequestParam(value = "comId") Long comId);

	@PostMapping(PayConfigUrl.Url_setSubAccount)
	public Result setSubAccount(@RequestBody SubAccountVo request);

	@PostMapping(PayConfigUrl.Url_RepairPayCancle)
	public Result repairPayCancel(@RequestBody CancelOrderRequest request);

	/**
	 * 11.3.11餐段菜单列表（mealMenuListB）
	 *
	 * @param mealMenuBDTO
	 * @return
	 * @throws Exception
	 */
	@PostMapping(PayConfigUrl.Url_SaveMealMenuB)
	Result<Boolean> saveMealMenuB(@RequestBody  MealMenuBDTO mealMenuBDTO) throws Exception;

	/**
	 * 11.3.11餐段菜单列表（mealMenuListB）
	 *
	 * @param comId
	 * @param mealPlanId
	 * @return
	 * @throws Exception
	 */
	@GetMapping(PayConfigUrl.Url_MealMenuListB)
	Result<Map<String, Object>> mealMenuListB(@RequestParam Long comId, @RequestParam Integer mealPlanId) throws Exception;

	@PostMapping(PayConfigUrl.URL_getVideocallOnShow)
	public Result getVideocallOnShow(@RequestBody DeviceManageOnShowRequest request);

	@PostMapping(PayConfigUrl.URL_addVideocallGroup)
	public Result addVideocallGroup(@RequestBody EntityXfVideocallGroup request);

	@PostMapping(PayConfigUrl.URL_addVideocall)
	public Result addVideocall(@RequestBody DeviceManageAddDeviceRequest request);

	@PostMapping(PayConfigUrl.URL_updateVideocall)
	public Result updateVideocall(@RequestBody DeviceManageUpdateDeviceRequest request);

	@PostMapping(PayConfigUrl.URL_actVideocall)
	public Result actVideocall(@RequestBody DeviceManageActDeviceRequest request);

	@PostMapping(PayConfigUrl.URL_removeVideocall)
	public Result removeVideocall(@RequestBody DeviceManageRemoveDeviceRequest request);

	@PostMapping(PayConfigUrl.URL_getNewVideocallList)
	public Result getNewVideocallList(@RequestBody DeviceManageOnShowDeviceRequest request);

	@PostMapping(PayConfigUrl.URL_getVideocallAppInfo)
	public Result getVideocallAppInfo(@RequestBody DeviceManageOnShowAppInfoRequest request);

	@PostMapping(PayConfigUrl.Url_evaluateList)
	public Result evaluateList(@RequestBody EvaluateListRequest evaluateListRequest);

	@PostMapping(PayConfigUrl.URL_getOrderMealLeave)
	public Result getOrderMealLeave(@RequestBody GetOrderMealLeaveRequest getOrderMealLeaveRequest);

	@PostMapping(PayConfigUrl.URL_setOrderMealLeave)
	Result setOrderMealLeaveRequest(@RequestBody EntityXfMealLeave xfMealLeave);

	@PostMapping(PayConfigUrl.URL_newIotDevice)
	public Result newIotDevice(@RequestBody NewIotDeviceRequest newIotDeviceRequest);

	@PostMapping(PayConfigUrl.URL_updateIotDevice)
	public Result updateIotDevice(@RequestBody UpdateIotDeviceRequest updateIotDeviceRequest);

	@PostMapping(PayConfigUrl.URL_removeIotDevice)
	public Result removeIotDevice(@RequestBody RemoveIotDeviceRequest request);

	@PostMapping(PayConfigUrl.URL_iotDeviceList)
	public Result iotDeviceList(@RequestBody IotDeviceListRequest request);

	@PostMapping(PayConfigUrl.Url_getUserSignInfoList)
	public Result getUserSignInfoList(@RequestBody GetUserSignInfoListRequest request);

	@PostMapping(PayConfigUrl.Url_gzhRefunding)
	public Result<PageInfo<EntityXfRecordProcess>> gzhRefunding(@RequestBody GzhRefundQueryRequest request);


	@PostMapping(PayConfigUrl.Url_kitchenPrtByComId)
	public Result kitchenPrtByComId(@RequestBody GetPointMealSendReportsRequest request) ;

	@PostMapping(PayConfigUrl.Url_setReceiptAddressPrice)
	public Result setReceiptAddressPrice(@RequestBody EntityReceiptAddressPrice addressPrice);

	@PostMapping(PayConfigUrl.Url_removeReceiptAddressPrice)
	public Result removeReceiptAddressPrice(@RequestBody EntityReceiptAddressPrice addressPrice);

	@PostMapping(PayConfigUrl.Url_getReceiptAddressPriceList)
	public Result getReceiptAddressPriceList(@RequestBody EntityReceiptAddressPrice addressPrice);

	@PostMapping(PayConfigUrl.Url_getMealDetailList)
	public Result getMealDetailList(@RequestBody GetMealDetailListRequest request);

	@PostMapping(PayConfigUrl.Url_getMealDetailListB)
	public Result<List<MealDetailBVo>> getMealDetailListB(@RequestBody GetMealDetailListBRequest request);

	//获取列表
	@PostMapping(PayConfigUrl.Url_gzhSignRecords)
	public Result<PageVO<EntitySignatureRecord>> gzhSignRecords(@RequestBody SignatureListRequest request);


	@PostMapping(PayConfigUrl.URL_feeItemListXM)
	public Result feeItemListXm(@RequestBody FeeItemListVo request) ;

	@PostMapping(PayConfigUrl.URL_newFeeItemXM)
	public Result newFeeItemXM(@RequestBody FeeItemXMVo request) ;

	@PostMapping(PayConfigUrl.URL_updateFeeItemXM)
	public Result updateFeeItemXM(@RequestBody FeeItemXMVo feeItem) ;

	@PostMapping(PayConfigUrl.URL_getMealPerReports)
	public Result getMealPerReports(@RequestBody NotMealRequest request);

	@PostMapping(PayConfigUrl.Url_refundOrderDishesB)
	public Result refundOrderDishesB(@RequestBody RefundOrderDishesRequest request) ;

	@PostMapping(PayConfigUrl.URL_getOrderForecastDetail)
	public Result getOrderForecastDetail(@RequestBody GetOrderForecastDetailRequest request);

	//取消协议
	@PostMapping(PayConfigUrl.Url_revokedSignRecords)
	public Result revokedSignRecords(@RequestBody SignatureUpdateRequest request);

	// 获取单位餐段列表
	@PostMapping(PayConfigUrl.URLP_PayConfig_getCompanyMealNo)
	public Result<List<EntityXfMealInfo>> getCompanyMealNo(@RequestParam("comId") Long comId);
}